package fun.chutianshu.competitionmanagement.daomapper;

import fun.chutianshu.competitionmanagement.pojo.UserInfo;
import org.apache.ibatis.annotations.*;
import org.springframework.jdbc.core.SqlProvider;

import java.util.List;

@Mapper
public interface UserInfoMapper {
    /***
     * 查询数据表中的所有记录
     * 对应SQL：select * from UserInfo
     * @return
     */
    @Select("SELECT * FROM UserInfo")
    List<UserInfo> getAllUserInfo();

    /***
     * 查询数据表中的某一条记录

     * @return
     */
    @Select("SELECT * FROM UserInfo where user_id = #{userId}")
    UserInfo getUserInfo(@Param("userId") int userId);

    /***
     * 插入一条数据
     * @return
     */
    @Insert("INSERT INTO UserInfo(user_name,user_pwd,user_role) VALUES(#{userName},#{userPwd},#{userRole})")
    int insertUserInfo(@Param("userName") String userName, @Param("userPwd") String userPwd, @Param("userRole") String userRole);


    /***
     * 更新一条记录（@UpdateProvider）
     * @param UserInfo 准备更新进去的数据
     * @return
     */
    @UpdateProvider(type = fun.chutianshu.competitionmanagement.daomapper.SqlProvider.class, method = "updateUserInfoSql")
    int updateUserInfo(UserInfo UserInfo);

    /***
     * 删除某条记录（@Delete）

     * @return
     */
    @Delete("DELETE FROM UserInfo WHERE user_id = #{userId}")
    int deleteUserInfo(@Param("userId") int userId);
}
